Electronic transparency method and apparatus

ABSTRACT

An electronic transparency device is provided with a memory in which a plurality of frames of video data (&#34;slides&#34;) can be stored. The apparatus includes a control microprocessor which can cause predefined sequences of slides to be presented on the LCD panel automatically. These slide &#34;shows&#34; are defined by the user using a hand held remote control unit in conjuntion with menus displayed on the LCD panel in window fashion by the microprocessor. The user can specify the duration that each slide in a sequence is to be shown, the video transition by which it is to be introduced, the degree of &#34;windowshading&#34; with which it is to be displayed, etc. Once a show is defined, it can be instituted and controlled from the remote control unit. Among other numerous features, the transparency also includes a pointer that can be superimposed on the display and controlled by the remote control unit. This pointer can be used to define certain portions of the screen that are to be displayed in highlighted fashion.

This is a division of application Ser. No. 07/701,446, filed May 15,1991, now abandoned, which is a division of application Ser. No.07/233,285, filed Aug. 17, 1988, now U.S. Pat. No. 5,101,197.

Cross reference is made to a microfiche appendix having one microficheand a total of 77 frames.

FIELD OF THE INVENTION

The present invention relates to electronic transparencies.

BACKGROUND AND SUMMARY OF THE INVENTION

Electronic transparencies are gaining widespread commercial acceptancein applications requiring display of data from a computer to a largenumber of users. Instead of displaying the data on a convention cathoderay tube monitor, the data is displayed on an LCD panel which is placedon an overhead projector. The light projected through the LCD panel isblocked by its darkened portions, forming a shadow image that isprojected just as with conventional film transparencies. Commerciallyavailable versions of this product include the Eiki DD-1000, the SharpQA-25, the nView ViewFrame, the Apollo PC-9000, the Computer AccessoriesData Display, the Eastman Kodak DataShow, the Telex Magnabyte I-5120-Iand a variety of units marketed by the assignee of the presentinvention.

While all of these devices have certain advantageous features, they allhave several failings. One is that the devices must generally beoperated in association with a computer.

It is a principal object of the present invention to provide anelectronic transparency that can be operated without an associatedcomputer.

It is another object of the present invention to provide an electronictransparency that can be used by persons who are unfamiliar withcomputers.

It is a further object of the present invention to permit presentationof computer-generated slide shows without a computer and without a slideprojector.

It is still another object of the present invention to provide anelectronic transparency with a memory in which a plurality of slideimages can be stored.

It is yet another object of the present invention to provide anelectronic transparency having the functionality of a stack ofconventional film transparencies.

It is still another object of the present invention to remotely controlthe sequence of slides displayed by an electronic transparency.

It is yet another object of the present invention to permit electronictransparency presentations to be customized to different applications bysubstituting slides particular to one application with slides particularto a second application.

It is still another object of the present invention to provide anelectronic transparency that can operate autonomously to display asequence of slides.

It is yet another object of the present invention to controllablyobscure selected portions of an electronic transparency display.

It is still another object of the present invention to provide anelectronic transparency with an interactive user interface.

It is yet another object of the present invention to display a numberwith each slide in a sequence indicating that slide's position in thesequence.

It is still another object of the present invention to permit theaforesaid number to be displayed at any desired location on the slide.

It is yet another object of the present invention to permit a remotelycontrolled pointer to be selectably superimposed on a slide displayed byan electronic transparency.

It is still another object of the present invention to permit selectedareas of a slide displayed by an electronic transparency to behighlighted.

According to a preferred embodiment of the present invention, anelectronic transparency is provided with a memory module into which aplurality of frames of video data ("stock slides") can be captured. Thememory module includes a microprocessor which can present predefinedsequences of these slides on the transparency's LCD panel automatically.These slide "shows" are defined by the user by selecting from optionspresented in menu fashion on the LCD panel. The user can specify, forexample, the duration that each slide in a sequence is to be shown, thevideo transition by which it is to be introduced, the degree of"windowshading" with which it is to be displayed, etc. User interfacewith the menus is achieved through a hand held remote control unit. Oncea show is defined, it can be instituted at the press of a button on theremote control unit and can thereafter proceed from screen to screenautomatically.

The illustrated transparency also includes a pointer that can besuperimposed on the display and controlled by the remote control unit.The pointer can be used to define certain areas of the screen that areto be highlighted by presentation in reverse video form. The memorymodule can be unplugged from the electronic transparency and transferredto other electronic transparencies as desired. A battery maintains thestock slide images and slide show definition data in memory even afterexternal power is removed.

The foregoing and additional objects, features and advantages of thepresent invention will be more readily apparent from the followingdetailed description, which proceeds with reference to the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an improved electronic transparencyaccording to one embodiment of the present invention.

FIG. 2 is a map schematically illustrating the organization of data in alarge random access memory used in a memory module component of theelectronic transparency of FIG. 1.

FIG. 3 is a perspective view of the improved electronic transparency ofFIG. 1.

FIG. 4 is an exploded view of the electronic transparency of FIG. 3.

FIG. 5 is a perspective view of a memory module used with the electronictransparency of FIG. 1.

FIG. 6 is a view of a hand-held remote control unit used with theelectronic transparency of FIG. 1.

FIG. 7 is an exploded view showing a bezel and a back lighting unit thatcan be used with the electronic transparency of FIG. 1.

FIG. 8 is a screen display created by the electronic transparency ofFIG. 1 when it is first powered.

FIG. 9 is a screen display created by the electronic transparency ofFIG. 1 showing first and second menus of the EDIT function.

FIG. 10 is a screen display created by the electronic transparency ofFIG. 1 showing third and fourth menus of the EDIT function.

FIG. 11 is a screen display created by the electronic transparency ofFIG. 1 showing fifth and sixth menus of the EDIT function.

FIG. 12 is a screen display created by the electronic transparency ofFIG. 1 showing a different fifth menu of the EDIT function.

FIG. 13 is a screen display created by the electronic transparency ofFIG. 1 showing a first menu of the PRESENT function.

FIG. 14, comprised of FIGS. 14A and 14B, is a schematic diagram showingCPU and demultiplexer circuitry used in the memory module of FIG. 5.

FIG. 15, comprised of FIGS. 15A and 15B, is a schematic diagram showingROM, RAM interface and power on reset/power fail detect circuitry usedin the memory module of FIG. 5.

FIG. 16, comprised of FIGS. 16A and 16B, is a schematic diagram showinga display interface circuit used in the memory module of FIG. 5.

FIG. 17, comprised of FIGS. 17A and 17B, is a schematic diagram showinginput/output, remote control and time base circuits used in the memorymodule of FIG. 5.

FIG. 18 is a collection of timing diagrams showing signal levelsassociated with the memory module of FIG. 5.

FIG. 19, comprised of FIGS. 19A and 19B, is a schematic diagram showinga first portion of RAM circuitry used in the memory module of FIG. 5.

FIG. 20, comprised of FIGS. 20A and 20B, is a schematic diagram showinga second portion of the RAM circuitry used in the memory module of FIG.5.

FIG. 21, comprised of FIGS. 21A and 21B, is a schematic diagram showinga third portion of the RAM circuitry used in the memory module of FIG.5.

FIG. 22 is a schematic diagram showing a fourth portion of the RAMcircuitry used in the memory module of FIG. 5.

DETAILED DESCRIPTION

For expository convenience, the following description first provides ageneral explanation of the present invention with reference to anillustrative embodiment shown in FIG. 1. The operation of theillustrative embodiment is then described in detail, followed by anexplanation of the schematic diagrams (FIGS. 14-22) showing itsimplementation. The software used in the illustrated system of thepresent invention is provided as a microfiche appendix.

To aid in understanding of the following description, it is firsthelpful to standardize the vocabulary. Consequently, the word "show"will be used herein to refer to a collection of slides set up by a userin a desired sequence with desired transitions, durations, etc. Slideshows are "defined" by using the remote control unit in conjunction withpop-down menus displayed on the liquid crystal display. "Slides" refersgenerically to any computer-generated image, whether "live" from acomputer or "captured" into the memory of the memory module. A "stockslide" is a slide that has been captured into the memory module and canthus be included in any of the shows.

FIG. 1--General Description

An illustrative embodiment 100 of the present invention is shown in FIG.1 and includes three principal components: an LCD display unit 102, amemory module 104 and an infrared remote control unit 106. The LCDdisplay unit 102 is a conventional electronic transparency,(such as thecommercially available PC Viewer brand electronic transparency, modelPCV-6448C marketed by In Focus Systems, Inc.) that has been modified, asdetailed below, to permit operation with the memory module 104. Theremote control unit 106 is also of conventional design but is here usedin a novel application, namely to program and control operation of anelectronic transparency. The memory module 104 is novel and is describedfully in the final section of this specification.

In more detail, the electronic transparency 100 comprises a number ofcomponents, including an input shift register 108, a frame buffer 110,an output buffer 112, a frame buffer control unit 114, an LCD panelcontrol unit 116 and an LCD panel 117. These components areinterconnected by a variety of signal lines, including multiplexed16-bit data and address busses 118, 120. The busses 118, 120 also arecoupled to the memory module 104 through a cable 122.

Video data from a computer is applied to an input port 124 of the LCDdisplay unit 102. This data can be in one of two forms: composite ordigital. Composite video is provided on a single line and comprises ananalog luminance signal interspersed at regular time intervals withhorizontal and vertical sync pulses. Digital video is provided on threeseparate lines, one for digital luminance data, one for horizontal syncpulses and one for vertical sync pulses. (The digital luminance data forcolor displays is typically provided on three lines, one for red, onefor green and one for blue. These signals are mixed together in theabove-referenced In Focus Systems LCD display unit to yield a singleluminance signal.) If the illustrated transparency is used with acomputer that supplies composite video output (such as an Apple II), thevideo signal is first processed into digital form by stripping off thevertical and horizontal sync signals and by digitizing the analogluminance signal with the illustrated analog to digital converter 126.

Digital video data from the input circuitry is provided in serial form(one bit per pixel) to the input shift register 108. The shift register108 groups this data into 16-bit bytes for subsequent storage in theframe buffer 110. The shift register 108 is clocked by a reconstructedvideo clock signal VCLK that is derived from the horizontal sync signalby a phased lock loop circuit 128. The frequency of VCLK will vary withthe video format used by the computer. Typical values are 14.318megahertz for CGA video, 16.257 megahertz for EGA video and 25.020megahertz for VGA video. These frequencies correspond to the rates atwhich individual pixels are provided to the video input 124.

The sixteen parallel outputs of shift register 108 are controllablyenabled onto the data bus 118 and are received by the frame buffer 110.Frame buffer 110 accumulates an entire frame of video data, 16 bits at atime, from this data and subsequently forwards it over the bus 118 tothe output buffer 112 for display. In most the illustrated embodiment,this frame comprises 480 lines of 640 pixels each, or 307,200 bits ofdata.

The frame buffer control unit 114 controls operation of the frame buffer110 and provides the write enable and address signals necessary for theframe buffer to compile a full frame of video data from the signalstransmitted on data bus 118. These control signals are derived by theframe buffer control unit 114 from the VCLK signal, the horizontal syncsignal and the vertical sync signal. The frame buffer control unit alsoserves to determine from the vertical and horizontal sync pulses theposition of the retrace interval in the video data and disables theacquisition of data by the frame buffer during this blanking interval.

Data acquired by frame buffer 110 is multiplexed back onto the data bus118 under the control of the frame buffer control unit 114 and is passedto the output buffer 112 for display on the LCD panel 117. (The LCDpanel cannot be driven directly from the frame buffer 110 because itmust typically be scanned downwardly simultaneously from both its topline and its middle line. Control of this specialized operation iseffected by the LCD panel controller 116, which is a dedicatedcontroller designed to cooperate with the frame buffer 110 and theoutput buffer 112 to provide the video and timing signals necessary todrive the LCD panel 117.)

While the acquisition of video data from the external computer isnecessarily done at a rate related to the frequency of the incomingvideo signal, the transfer of video data out of the frame buffer andthrough the output buffer is done at a fixed rate unrelated to the typeof video signal originally received. The clock signal that controlsthese latter transfers of video data is derived from a crystalcontrolled 20 megahertz oscillator.

The above-described circuitry is all conventional and is found in mostprior art transparencies. The memory module 104, however, is novel andcomprises a control microprocessor 130, a ROM memory 132 for firmwarestorage, a large RAM memory 134 for data storage, a battery 136 tomaintain the RAM memory when external power is interrupted and a varietyof support circuitry shown in FIGS. 14-22 and discussed below. Thememory module is coupled to the LCD display unit 102 by a multiconductorcable 122. Cable 122 includes address, data, power, clock and controllines linking the microprocessor 130 and other circuitry in the memorymodule to the corresponding lines in the LCD display unit 102. Theparticular interconnections are detailed in the discussion of FIGS.14-22.

The memory module microprocessor 130 controls both the memory module 104and the LCD display unit 102. Control of the LCD display unit isprincipally exercised by controlling the frame buffer 110 and the bussesand control-lines 118, 120, 138 connected thereto.

In one state of its operation, the memory module microprocessor 130permits the LCD display unit 102 to operate using a first data path asdescribed above, with video data applied from an external computer beingdisplayed on the LCD panel 117. In a second state, the microprocessor isable to implement a second data path and to write data to and read datafrom the frame buffer. The first of these capabilities permits thememory module to interrupt display of the video applied from an externalcomputer and allows the LCD panel 117 to display instead video datawhich the memory module provides from its own RAM memory 134. The secondof these capabilities, the ability to read from the frame buffer,permits the memory module to "capture" video supplied by the externalcomputer and to store this data in its memory 134 for later display.(Regardless of which state the memory module microprocessor 130 is in,the frame buffer 110 can always provide video data to the output buffer112 for display on the LCD panel 117).

In addition to its control over the LCD display unit, the microprocessor130 also performs the necessary housekeeping functions associated withRAM 134 (such as keeping track of how many slides are stored and whichportions of the RAM are free for new data) and is responsible for theextensive user interface screens, discussed below.

While the operation of the illustrated transparency 100 is described ingreater detail below, a simplified review of the implementation of acapture operation may aid in a further understanding of the blockdiagram of FIG. 1.

When the illustrated transparency 100 is connected to an externalcomputer, the video provided by the computer is normally displayed onthe LCD panel 117. When an image appears on the LCD panel that the userwishes to capture to the memory 134, the user instructs the unitaccordingly by a command signal transmitted from using the remotecontrol 106. When this command signal is received by an infraredreceiver 140 on the memory module, the memory module microprocessor 130issues a signal on cable 122 which disables the input shift register108. The image on LCD panel 117 is thus momentarily frozen since no newdata is provided to the frame buffer. The microprocessor 130 then readsthe frame of data currently resident in the frame buffer 110 and placesa copy of that data into the RAM memory 134. (The microprocessor 130first compresses the video data from the frame buffer 110 using a runlength limited encoding algorithm before the data is stored in the RAM134). When the capture is complete, the microprocessor reenables theinput shift register 108, permitting it to apply new data to the framebuffer 110.

The large RAM memory 134 in the memory module is used to store bothcompressed stock slide images and is also used to store data definingthe various slide shows into which the stock slide images may beincorporated. This may be better understood by reference to FIG. 2,which is a simplified map of RAM 134.

FIG. 2--Memory Organization

The upper portion of the FIG. 2 memory map shows the storage ofindividual stock slide images, in this case numbered 1 through 128. Theamount of memory required for each slide varies due to the differingdegrees of data compression achieved by the compression algorithm on thedifferent slides. The lower portion of FIG. 2 schematically illustratesthe show definition data. As described more fully below, this datadefines which stock slides are to be displayed and in what order, andincludes a variety of presentation attributes defining the particulartreatment afforded each slide. (These attributes, discussed more fullybelow, include the length of time the slide is to be displayed, the typeof transition to be used to introduce the slide, the degree ofwindowshading to be used, etc.) As shown in the lower portion of thefigure, show number one is defined to include stock slides 2, 3, 6 and12. The "⊕" sign after each represents the presentation attributes thatare stored for each usage of a stock slide in a show. The data definingshow number two is then stored, followed by the data for all other showscurrently defined in the memory module.

(It will be recognized that the slide show definition data in the RAMmemory 134 occupies much less space than the stock slide data and isthus not represented to scale in FIG. 2.)

FIGS. 3-5--Physical Construction

FIGS. 3-5 show the physical cooperation of the memory module 104 and theLCD display unit 102. The memory module is physically constructed to beremovable from the display unit so that it can be taken off and storedfor later use or transferred and used with another display unit. (Thebattery 136 used in the memory module is sufficient to retain the videoinformation for many years.) The memory module 104 includes a multipinconnector 142 which cooperatively mates with a corresponding connectoron the housing 144 of the LCD display unit to effect coupling of thecable 122 between the memory module and the display unit. (Connector 142can also be used to couple the memory module to another computer. Thiscapability is useful for downloading the contents of the memory moduleinto an auxiliary computer for subsequent transfer into a second memorymodule, so as to effect duplication of memory modules.) Protrudingmembers 146 and 148 on the memory module 104 engage corresponding slots150, 152 in the LCD display unit housing 144 to securely latch thememory module to the LCD display unit.

An infrared detector 154 used as a component of the infrared receiver140 is mounted on the front of the memory module and is oriented towardsthe overhead projector screen with which the transparency is used.Infrared control signals can be directed to the photodetector 154 bypointing the remote control unit 106 towards the screen and reflectingthe signals off the screen and back to the photodetector. Thispositioning of the photodetector greatly enhances the utility of theremote control unit since the remote control need not have aline-of-sight path to the photodetector in order to communicate.

Included on the side of the LCD display unit 102 are a connector 156 fordigital video input, a connector 158 for composite video input and aconnector 160 for a five-volt DC power source. On the top of the displayunit are buttons 162 used to increase and decrease contrast, deselectcertain colors, reposition the image in the liquid crystal display,reverse the video, etc.

VIDEO DISPLAY

While operation of the transparency 100 has been illustrated withreference to video frames comprised of 480 lines of 640 pixels each, thetransparency is compatible with other video formats. Video frames in theEGA format, for example, comprise 350 lines of 640 pixels each. If datain EGA format is provided to the transparency, the bottom 130 lines ofdata in the frame buffer 110 (which is organized into 480 by 640 format)are stored as all zeros. If desired, the EGA image can be centered inthe LCD panel by using position controls 162 on the LCD display unit102.

Some video formats have less than 640 pixels per line. In such cases,the shortened lines are stored in the 480 by 640 pixel frame buffer 110with leading and trailing data zeros sufficient to center the data lineson the LCD panel 117 when displayed.

While the illustrated transparency 100 advantageously zero-fills at theperiphery of the video frame to permit accommodation of differing videoformats, the technique has a drawback: Light from the overhead projectorwith which the transparency is used can pass through the unusedperipheral portion of the LCD panel to the projection screen. Thisunnecessary light on the screen lightens the room in which thetransparency is used and makes it more difficult for the audience todiscern the desired portion of the screen.

To eliminate this drawback, a bezel 164 (FIG. 7) is provided that can beplaced on the LCD panel 117 to mask out unused peripheral portions ofthe display and thus block unnecessary light from the projector.Different bezels are provided for different video formats. The bezel forthe EGA format, for example, blocks the top and bottom 65 lines of theLCD panel 117 (assuming the image is centered in the LCD panel 117). Thebezel for the Macintosh format blocks lines at the top and bottom andalso blocks a number of pixels on each side. If desired, a bezel can beconstructed with movable members to tailor the masking effect to theparticular slide being displayed.

Unlike other electronic transparencies, the present invention is oftenoperated by the user in advance of the presentation to define theshow(s) to be presented. Consequently, it has been found desirable toprovide a small viewing screen 166 (FIG. 7) that can be snapped behindthe LCD panel 117 to permit the user to read the menus on the LCD panelwithout use of an overhead projector. In one embodiment, this snap-inscreen 166 is made of a highly reflective white material. The user thusrelies on ambient light incident on the top of panel 117 to make themenus and other screen displays visible. In another embodiment, thesnap-in screen 166 is back lit so as to present illumination under thepanel by which the user can more readily read the data displayedthereon.

Up to 150 stock slides can be stored in the illustrated transparency100, depending on the content of each slide. Since the data comprisingeach slide is compressed prior to storing, each slide generally takes upmuch less than a full screen's worth of storage space. Up to ten showscan be defined from the stock slides in the illustrated embodiment andthe 150 (or fewer) stock slide images can be used an aggregate of 500times over all the shows.

A slide can be used more than once in a given show. For example, a slidewith a company logo can appear at the beginning and end of a show. Thelogo is stored only once, occupying only one of the 150 possible stockslide images. Each time it is used, one of the 500 possible usages istaken.

An analogy may be made between the present invention and a conventionalslide projector with slide trays. The present invention provides ten"trays" (shows). Unlike a slide projector, however, the trays are ofvariable length. Each tray can have any number of slots for slides, aslong as the total number of slots in all trays does not exceed 500.Also, unlike a slide projector, the user can create as many copies of agiven slide instantly and place them in any slots in any shows desired.

REMOTE CONTROL UNIT

The remote control unit 106 used with the illustrated transparency is astandard infrared remote control purchased from Zenith (part number124-138-08) with a face plate (FIG. 6) tailored to the functions hereinvolved.

In the upper left portion of the remote control are eight cursor arrowkeys surrounding the center CURSOR key. Four of these keys are used inediting to select new functions. They are the UP, DOWN, LEFT and RIGHTkeys 168, 170, 172, 174. The ENTER key is used to go to the next menulevel, if there is one, or to carry out the selected function. TheESCAPE key is used to abandon or "back out" of a function, or go back tothe previous menu. The WINDOW UP and WINDOW DOWN keys 176, 178 are usedto set windowshade positions for individual slides or entire showsduring editing.

The NEXT and PREVIOUS keys 180, 182 are used during presentations toselect the next or previous slides in a sequence.

During the actual presentation of a slide show, the center CURSOR key184 is used to turn on or off an on-screen pointer, as described morefully below. The direction keys around it are used to position thepointer. The ENTER key 186 is used to control highlighting. The ESCAPEkey 188 is used to interrupt a presentation and permits a user to skipdirectly to a different slide in the same show, go live to the computerinput, or stop a show and go back to edit or present a different show.

The VIDEO +/- and LIGHTEN and DARKEN keys 190, 192, 194 on the remotecontrol have counterparts on the LCD display unit 102. The LIGHTEN andDARKEN keys 192, 194 always have the same effect regardless of whatfunction the transparency is performing. The VIDEO +/- key 190 operatesto reverse the screen video, but operates only when an image is beingdisplayed. At other times (such as when editing menus are on the screen)the VIDEO +/- key has no effect.

All keys on the remote control unit 106 "auto repeat." That is, if helddown, they repeat their functions at about five times per second. Theeight cursor arrow keys and the WINDOW UP/DOWN keys "accelerate." Thatis, they repeat at a faster rate if they are held down continuously.

OPERATION

When the illustrated transparency 100 is first powered, a boot-up screenis displayed identifying the manufacturer of the device and the softwareversion. The transparency's main menu 196 (FIG. 8) is displayedhorizontally across the top of the screen and presents five options, anyone of which can be selected by operation of the remote control unit106. These options are LIVE, EDIT, PRESENT and UTILITY and are discussedin detail below.

To the right of the main menu 298 is a display of the amount of memorycurrently available in RAM 134. As new stock slide images are captured,the number decreases. When existing stock slide images are deleted, thenumber increases. When the RAM memory 134 is completely empty, between750 and 800 kilobytes are available. Each slide image takes from one tothirty-eight kilobytes of memory, depending on how much compression canbe achieved.

To select among the functions displayed on the main menu 196, the useroperates the LEFT and RIGHT cursor arrow keys 172, 174. The selectedfunction is shown in reverse video. To perform the specified function,or to go to the next menu level, the user presses the ENTER key 186. Allof the menus beyond the main menu are arranged vertically, so the UP andDOWN keys 168, 170 are used for function selection.

The five functions selectable from the main menu 196, and the variousoptions associated with these functions, are discussed below.

1. LIVE

The LIVE function is used to display data provided to the transparency100 from a computer connected to the video input port 124. Whenselected, the main menu disappears from the top of the display 117 andthe invention operates much like any other passive electronictransparency.

2. CAPTURE

The CAPTURE function is used to store frames of video data as stockslides in the RAM memory 134 of the memory module 104. When selected, amessage "Hit ENTER to go live, then hit ENTER to capture" is displayedon the LCD display unit 102. The first time the user presses the ENTERkey 186, the menu and prompt disappear and control of the LCD displayunit is turned over to the external signal source, just as in the "LIVE"function above. The user then operates the computer to display an imagethat is desired to be captured. The next time the user presses the ENTERkey, the image then being displayed is captured and is stored in thememory module RAM memory 134. A message "Slide assigned image #NNN, hitENTER to continue" appears on the display. (NNN depends on the number ofslides already stored in the memory). If no data is being supplied tothe input port 124 when the capture is attempted, an error message ispresented saying "No data to capture, hit a key to continue."

The user can abandon the CAPTURE function prior to capturing an image bypressing the ESCAPE key 188. If the user makes a mistake and stores aslide that is not desired, the UTILITY function (described later) can beinvoked to delete it.

The first time slides are captured, they are assigned consecutivenumbers: 1, 2, 3 etc. If certain of these stock slides are thereafterdeleted, their numbers will be reused during subsequent captureoperations. For example, if slides 1-10 are captured and slides 2, 4, 6and 8 are subsequently deleted, the next slide captured will be assignednumber 2, then number 4, and so on.

Slide images are captured exactly as they are displayed on the LCD panel117 the instant the ENTER key is pressed. Consequently, if it is desiredto save the slide in reverse video form, the VIDEO +/- key 190 must bepressed before the slide is captured. Similarly the SYNC, COLOR SELECTand LEFT/RIGHT position adjustments on the LCD unit 102 should be usedbefore capturing images since these controls cannot be used to alter thestored version of the image in the memory module.

It is desirable to capture slides in the same order they are to appearin a show, if possible. This makes editing of the show easier, as willbecome apparent from subsequent discussions.

By noting the "MEMORY AVAILABLE" values displayed on the LCD screen 117before and after a slide is captured, a user can determine the amount ofmemory that a slide requires in the memory module 104.

3. EDIT

Once a group of slides has been captured, the EDIT function is used toarrange them into a show. When EDIT mode is selected, a menu 198 (FIG.9) of editing functions appears: CHANGE SHOW, COPY SHOW, DELETE SHOW andCOLLECT NEW. The desired one of these functions is selected by movingthe reverse video highlighting bar to the desired choice with the UP andDOWN cursor arrow keys 168, 170 and then pressing the ENTER key 186. Thefour editing functions, and their respective options, are discussedbelow.

3.a. EDIT/CHANGE SHOW

The CHANGE SHOW function permits a user to edit an existing show. Stockslides can be added, deleted or rearranged and the presentationattributes can be changed for each slide in the show.

When CHANGE SHOW is selected, a menu 200 (FIG. 9) of existing shows iswindowed over the basic EDIT menu 198. The show that is desired to beedited is selected by operating the UP and DOWN cursor arrow keys 168,170 and the ENTER key 186 is pressed to finalize the selection.

After the show to be edited has been selected from the menu 200 of FIG.9, a window having a "slide show definition chart" 202 (FIG. 10) appearswith a tabular listing describing the show. The chart is organized intofive columns: SEQUENCE NUMBER, STOCK SLIDE NUMBER, DISSOLVE TYPE,WINDOWSHADE % and DELAY. Each slide included in the show is listed. TheSEQUENCE NUMBER identifies a slide's position in the sequence of slidescomprising the show. The STOCK SLIDE NUMBER identifies the number forthe slide in the RAM memory collection of stock slides. The DISSOLVETYPE specifies the type of transition by which the slide is to beintroduced. (Exemplary dissolve types supported by the disclosedembodiment are a diagonal dissolve, a left to right dissolve, a centerout dissolve, a random dissolve and a simple replace.)

The WINDOWSHADE column specifies the percentage of the slide image-thatis to be occluded by a windowshade. Windowshade is a video constructused by the present invention to cover up part of a slide. The user canmove the windowshade during a presentation by use of WINDOW UP andWINDOW DOWN keys 176, 178. The windowshade can either be "white"(letting light through) or "black" (blocking light). In either case, itis "opaque" in the sense that it blocks out the image from the slidebelow it. Windowshade values of one to 100 percent are permitted, with100 percent being no windowshade.

Finally, the DELAY column specifies the duration in seconds that theslide is to be displayed before the show progresses automatically to thenext slide. In the illustrated embodiment, the delay can be set tobetween 1 and 99 seconds or can be specified as "manual." In this case,the slide does not leave the screen until the ENTER key 186 or the NEXTkey 180 is operated. (In alternative embodiments, delays of fractions ofseconds can be specified so as to effect an animation sequence.)

To change any of these presentation attributes for a slide in the showbeing edited, the slide's listing in the slide show definition chart 202is highlighted by moving the reverse video highlighting bar using the UPand DOWN cursor keys 168, 170. (If there are more slides in a show thancan fit in the chart 202, the UP and DOWN cursor keys 168, 170 willcause the chart to scroll within the window until the desired slide isfound.) The ENTER key 186 is then pressed to obtain a menu 204 (FIG. 10)of change options: PREVIEW, ADD, DELETE, CHANGE WINDOWSHADE, CHANGEDELAY and CHANGE DISSOLVE. These options are discussed below.

3.1.(i) EDIT/CHANGE SHOW/PREVIEW

If the PREVIEW option is selected from the menu 204 of FIG. 10, themenus 202, 204, etc. disappear and the LCD panel 117 displays a fullimage of the selected slide. To return to the change options menu 204,the user presses any key. (A slide can be previewed with windowshadingby using the WINDOWSHADE option in the UTILITY function, discussedbelow).

3.a.(ii) EDIT/CHANGE SHOW/DELETE

The DELETE function is the second option in the change options menu 204and is used to remove a slide usage from a show. (The stock slide data,however, stays in the RAM memory 134. All that is deleted is thereference to that stock slide in the definition of the specified show).If the user selects the DELETE function, a message appears asking theuser to confirm the deletion of the slide with the UP cursor key 168.Pressing the UP key performs the deletion. Pressing any other keyabandons the deletion and leaves the slide in the show.

3.a.(iii) EDIT/CHANGE SHOW/ADD

The ADD function brings up a menu 206 (FIG. 11) of all stock slidescurrently stored in the memory module RAM 134, from which one may beselected for use in the show being edited. The UP and DOWN keys on theremote control are used to select the stock slide to be added (the stockslide list 206 scrolls within its window if necessary) and the ENTER keyis pressed to designate the selected slide. Another menu 208 thenappears (also shown in FIG. 11) with the options PREVIEW, ADD BEFORE andADD AFTER.

The PREVIEW option permits a user to preview the slide that is to beinserted. If PREVIEW reveals an unexpected slide, the user can pressESCAPE to return to the stock slide selection menu 206 to select adifferent slide.

When the user has found the desired slide, the ADD AFTER or ADD BEFOREoption is then selected by moving the highlighting bar to the desiredoperation and pressing the ENTER key. These operations create a newreference to the selected stock slide after or before the slidehighlighted in the slide show definition chart 202.

When a stock slide is ADDed into a show, it is assigned the currentdefault windowshade, dissolve type and delay time, discussed below.

3.a.(iv) EDIT/CHANGE SHOW/CHANGE WINDOWSHADE

The fourth option in the change options menu 204 is CHANGE WINDOWSHADE.If a user selects this function, the slide highlighted in the slide showdefinition chart 202 is displayed with its current windowshadeplacement. The user then operates the WINDOW UP/DOWN keys 176, 178 toplace the windowshade at a desired location and presses ENTER to changethe slide show definition chart to reflect the newly set windowshadevalue.

This CHANGE WINDOWSHADE option can be used to preview a slide with itsspecified windowshade placement. The user simply selects the CHANGEWINDOWSHADE function to view the windowshaded slide and then pressesESCAPE to leave the windowshade unchanged.

If desired, the windowshade can be moved automatically during apresentation by referencing the same stock slide several times in thedefinition of the show, each with a different windowshade setting. Asthe slides transition during the presentation, the windowshade appearsto move up or down.

3.a.(v) EDIT/CHANGE SHOW/CHANGE DELAY

If the user selects the CHANGE DELAY function, a window appearsdisplaying the current delay and inviting the user to press the UP keyto increase the delay (up to 99 seconds) or to press the DOWN key todecrease it (the value below 1 is MAN for MANUAL). Once the desiredvalue has been reached, the user presses ENTER to effect the change. Thechange is immediately reflected in the slide show definition chart 202.It is possible to have slides with numeric delays intermixed with slideswith "manual" delays to have the show display a series of slidesautomatically and then have the show stop at a desired point for furthermanual control.

Note: If the last slide used in a show is specified to have a numericdelay, then after the last slide has been displayed for the specifiedtime, the show will restart automatically at its beginning.

3.a.(vi) EDIT/CHANGE SHOW/CHANGE DISSOLVE

If the CHANGE DISSOLVE function is selected, a menu 210 of availabledissolve types appears. This menu is shown in FIG. 12 and includesREPLACE, LEFT-RIGHT, CENTER, RANDOM and DIAGONAL. The user can operatethe UP and DOWN keys to select the desired dissolve type and press theENTER key to effect the change. (During a presentation, the time ittakes the system to perform the DISSOLVE is added to the specified DELAYtime (if any) so that each slide is displayed in its static state forthe full DELAY interval, regardless of the type of transition used).

After the appropriate windowshade, delay and dissolve changes have beenmade to the selected slide, the user can backtrack to the slide showdefinition chart 202 by pressing the ESCAPE key. The user can thenreposition the highlighting bar to a different slide in the chart sothat the parameters of other slides in the show can be edited.

After all of the slides in a show have been edited as desired, theESCAPE key can be pressed once again, returning the user to the menu 200of FIG. 9 which lists all of the shows defined in the memory module. Theabove-described operations can be repeated, if desired, to edit thedefinition charts of other slide shows. If no other slide shows needsediting, the user can press ESCAPE one more time to return to the basicmenu 198 of EDIT functions.

3.b. EDIT/COPY SHOW

The second of the basic EDIT functions, COPY SHOW, is used to create anidentical copy of a specified show. That is, a new show is created, allof whose slide usages are identical to the original. Windowshadesettings, delays and dissolve types are all copied. The COPY SHOWfunction is used for creating several shows that are largely the samebut which need to be individually tailored to different audiences.

If the COPY SHOW function is selected, the menu 200 of existing shows ispresented. The user selects the show to be copied and presses ENTER. Anew show identical to the specified show is created and is assigned thenext available show number. The user can then use the CHANGE SHOWfunction as described above to tailor the new show as desired.

3.c. EDIT/DELETE SHOW

The third of the basic EDIT functions, DELETE SHOW, is used to removeall of a show's definition data from the memory module. If this functionis selected, the menu 200 of existing shows is displayed. The userselects the show desired to be deleted and presses the ENTER key. Amessage appears requesting the user to confirm the DELETE SHOW action bypressing the UP key 168. If confirmed, the data defining the selectedshow is deleted. (However, the stock slides that were included in theshow are not deleted.) Pressing any other key abandons the DELETEoperation and leaves the selected show intact.

3.d. EDIT/COLLECT SHOW

The fourth and final of the basic EDIT functions, COLLECT SHOW, is usedto compile a show from stock slides that have not been incorporated intoany earlier defined shows. This feature, too, is used as a shortcut indefining shows and is used most often after capturing a series of newslide images. Slides are inserted into the new show in order by stockslide number. (The stock slide numbers may or may not correspond to theorder in which the slides were captured, depending on the memoryrequirements of each slide, other deletions and other captures that mayhave been made).

The slides to be used in a show are typically captured seriatim from acomputer. However, to enter each of these slides into the show using theADD function (discussed above) requires that each slide be specified andadded individually. The COLLECT function automates this collectionprocess. That is, to create a number of shows, each with different slideimages, the sequence in general is:

1. CAPTURE the desired images; and

2. Use the COLLECT SHOW function to place them into a show.

These steps are repeated for each of the shows to be defined.

If there are no stock slides in the memory from which such a show can bedefined, the system displays an error message: "No unused slides tocollect, hit a key to continue."

This concludes all of the options in the EDIT function of theillustrated transparency 100.

4. PRESENT

The fourth option on the main menu 196 is PRESENT. If PRESENT isselected, the menu 200 (FIG. 13) of all the shows defined in memory isdisplayed. The user moves the highlighting bar to the desired show andpresses ENTER. The transparency then begins it autonomous operation,displaying the first slide specified in the show with its windowshade(if any) and transitioning from it to subsequent slides using theearlier-specified transitions. When the presentation reaches a slidewith a delay of "manual," the presentation pauses until the NEXT key 180on the remote control is pressed.

If a delay time other than MANUAL was specified for the current slide,the next slide will be displayed as soon as the delay time elapses, orwhen the NEXT key 180 is hit, whichever occurs first. The PREVIOUS key182 can be used to go back one or more slides as desired. If a userbacks up to a slide with a delay time, after the delay time has elapsed,the next slide will be displayed and the show will resume in the forwarddirection.

The user can operate the WINDOW UP/DOWN keys 176, 178 to move thewindowshade during autonomous presentation of a show even if nowindowshade has been specified for a slide (i.e. 100 percent).

In many electronic transparency applications, it is desirable to pointto certain features on the displayed image. The illustrated transparencypermits such a pointer to be superimposed over the displayed image onthe LCD panel 117. (In the preferred embodiment, the pointer takes theform of an arrow, although other shapes, such as cross-hairs, couldreadily be used.) The pointer is toggled on and off by pressing thecenter CURSOR key 184 on the remote control. When present on thedisplay, the pointer can be moved in any direction by using the cursorarrow keys.

The present invention also permits certain areas of the display to behighlighted by display in reverse video form. This is effected byactivating the pointer and pointing it to one corner of the area to behighlighted. The ENTER key 186 is then pressed to "anchor" that cornerof the highlighting. As the pointer is thereafter moved, a highlightingrectangle appears, with one corner at the initial "anchor" point and itsopposite corner at the current point of the pointer. To leave thehighlighting definition mode, the user presses ENTER key again, or canhit the center CURSOR key 184 twice. This returns the pointer to itsusual pointing function. To remove the highlighting from the screen,before hitting ENTER a second time, the user moves the pointer so thatthe highlighted rectangle collapses into a single point, and thenpresses ENTER to free the pointer.

Highlighting is temporary in the illustrated embodiment. The next timethe particular slide is projected in any show, no highlighted area isdisplayed until the pointer/highlighting function is used to create it.

To interrupt a show being presented, the user can press the ESCAPE key.A menu of options appears: LIVE, STOP and GOTO. The user can select oneof these options or can press the ESCAPE key to return to the show inprogress.

4.a. PRESENT/LIVE

The LIVE option suspends the presentation currently in progress andturns control of the display to a computer connected to the externalinput port 124. Pressing any key in this PRESENT/LIVE mode returns theunit to the LIVE/GOTO/STOP menu.

4.b. PRESENT/STOP

The STOP option stops the show currently in progress and returns to themain menu 196. This function can be used to go to a different show or toperform capture or editing operations.

4.c. PRESENT/GOTO

The GOTO option is used to skip from the present slide to a differentslide within the present show. When this function is invoked, the slideshow definition chart 202 appears from which the user can select adesired next slide. When ENTER is next pressed, the slide show beginsfrom the selected slide.

5. UTILITY

The fifth and final of the options available on the main menu 196 isUTILITY. The UTILITY menu has four options: USAGE, ORPHANS, DEFAULTS,and ERASE.

5.a. UTILITY/USAGE

The USAGE function allows the user to determine into which shows aspecified stock slide image has been incorporated. Selecting thisfunction brings up a small window through which a list of all stockslides stored in memory can scroll. The user highlights the number ofthe stock slide of interest and presses ENTER to obtain a listing of allslide shows into which that slide has been incorporated. If a slide isused more than once in a show, an asterisk appears next to the shownumber. If a slide is not used in any shows, the word "None" appears.

5.b. UTILITY/ORPHANS

"Orphan" slides are slides that are not used in any defined show and,hence, might be candidates for deletion from the memory module. When theUTILITY/ORPHANS function is selected, a menu of orphan slides appearsfrom which one can be selected for previewing and/or deleting. If thereare no orphans, a message to that effect appears and the user can returnto the UTILITY menu by pressing any key.

The system will only permit stock slides that are "orphans" to bedeleted. Slides currently referenced in any show cannot be deleted. Aslide must be deleted from each show in which it is used (possibly morethan once in a show) before it can become an "orphan" and be eligiblefor deletion. The above-discussed UTILITY/USAGE function is provided toallow the user to determine in which shows a slide is used.

When a slide has been selected from the menu of orphan slides, a furthermenu appears: PREVIEW or DELETE.

The PREVIEW option is used to obtain a full-screen view of the stockslide selected from the list of orphans. Pressing any key returns theuser to the UTILITY/ORPHAN menu.

The DELETE option is used to permanently delete an orphan stock slideimage from the memory module. When a slide is so deleted, the memoryused by that slide is returned to the free memory pool for use by newslide images. If this option is selected, a message appears asking theuser to press the UP key to confirm the deletion.

5.c. UTILITY/DEFAULTS

The third of the UTILITY functions, DEFAULTS, permits a user to change,inter alia, the default delay, windowshade, and dissolve attributes. Therevised attributes will be assigned to any slide thereafter captured oradded to a show. (The system normally uses default values of 100 percentwindowshade (i.e. full image always projected), BLACK (opaque)windowshade color, REPLACE dissolve type and MANUAL delay time). Afterthe attributes have been changed with this function, the new attributespersist until changed again or until an ERASE function is performed (seebelow).

When the DEFAULT function is selected from the UTILITY menu, a menu ofattributes and their current default values is displayed. To make achange, the user highlights the attribute of interest using the UP andDOWN cursor control keys and presses the ENTER key. The action to betaken from that point varies from item to item, as discussed below.

5.c.(i) UTILITY/DEFAULT/WINDOWSHADE COLOR

If the WINDOWSHADE COLOR attribute is selected, the user can toggle thewindowshade between black (blocking light) and white (allowing lightthrough) by pressing the ENTER key. In either case, the windowshaderemains opaque in that the slide image never shows through thewindowshade.

5.c.(ii) UTILITY/DEFAULT/WINDOWSHADE POSITION

When the user selects the WINDOWSHADE POSITION attribute, the menusdisappear and a windowshade appears on the blank screen at its currentdefault setting. The windowshade can then be adjusted up and down byusing the WINDOW UP and WINDOW DOWN keys 176, 178 on the remote control.When the desired new windowshade position is reached, the user pressesENTER to set the new default windowshade at the displayed windowshadeposition.

(As noted, when the WINDOWSHADE POSITION function is selected, thescreen is blank and clear. Consequently, if the windowshade color iswhite, it is desirable to change the default windowshade color to blackmomentarily to make the windowshade position easier to see. Thewindowshade color can then be returned to white if desired after settingthe new position).

5.c. (iii) UTILITY/DEFAULT/DELAY

If the DELAY attribute is selected, a window appears displaying thecurrent default delay time and prompts the user to press the UP or DOWNarrow keys to change the value displayed. When the desired value isreached, the ENTER key is pressed to set the new default.

5.c.(iv) UTILITY/DEFAULT/DISSOLVE

If the DISSOLVE attribute is selected, the user is presented with a menuof dissolve types. The user moves the reverse video highlighting bar tothe desired one and presses the ENTER key to set the new defaultdissolve desired.

5.c.(v) UTILITY/DEFAULT/SEQUENCE # ON/OFF

Sequence numbers (the relative number of a slide within a show) can bedisplayed on-screen during a show at a user-selectable location. Whenthe SEQUENCE # ON/OFF option is selected from the UTILITY/DEFAULT menu,the current state of the sequence number display during shows is shownas ON or OFF. Pressing ENTER toggles this state.

5.c.(vi) UTILITY/DEFAULT/SEQUENCE # LOCATION

The sixth and final attribute that can be changed with theUTILITY/DEFAULT menu is the location at which the sequence number (ifON) is to be displayed on the screen. When the SEQUENCE # LOCATIONfunction is selected, a marker (a three digit sequence number of 000) isshown on the screen at the location where sequence numbers will appear.The eight direction cursor arrow keys can then be used to move thismarker to the desired location. The change in location is effected bypressing the ENTER key.

5.d. UTILITY/ERASE

The ERASE function is provided to completely erase all show definitionsand stock slides from memory module RAM 134. This function is providedso that the user need not delete shows and slide images one by one.

If the ERASE function is selected, the system asks the user to confirmthe instruction by pressing the UP, DOWN, LEFT and RIGHT cursor controlkeys in sequence, followed by the ENTER key. Pressing ESCAPE at any timebefore the end of this sequence operates to abandon the ERASE functionand leaves the memory module contents intact.

If the user performs the entire ERASE confirmation sequence, the memoryof the memory module is erased and the defaults are set as follows:windowshade at 100 percent, BLACK windowshade, REPLACE dissolve type,MANUAL delay time, sequence number OFF and sequence number location nearthe lower left corner of the display.

REVISING CAPTURED SLIDES

It is often desirable to revise slides after they have been capturedinto memory. The present invention contemplates a number of suchrevision capabilities.

One such revision capability permits the addition of highlighting to aslide captured in memory. This is effected by displaying the slide andinvoking the highlighting operation to highlight the desired portion(s)of the image. The revised image is then be stored back into memory as aseparate stock slide image.

Another important revision capability permits the superposition oftextual material onto a slide after it has been captured to memory. Thiscan be used, for example, to customize a slide presentation to variousapplications by inserting different customer names, etc. in selectedslides. This "captioning" operation is effected by displaying the slideand invoking the pointer to point to the location on the image wheretext is to be superimposed. A control sequence of keys on the remotecontrol is then entered to convert the remote control keys toalphanumeric counterparts. The desired text is then entered by pressingthe appropriate keys. The particular font and typesize in which the textis displayed have default values. However, these values can be changedby using a typeface menu that is controllably invoked from the remotecontrol. After the desired text has been entered, the revised slide isstored back into memory as a separate stock slide image.

(In alternative embodiments, rather than using alphanumeric counterpartsto the remote control keys for text entry, a menu displaying the fullcomplement of ASCII characters is presented. The characters can then beselected seriatim from the menu for insertion into the image).

A final revision capability permits the addition of graphics to capturedslide images. This feature operates similarly to the text entry featurediscussed above. However, instead of using the remote control unit as analphanumeric pad, it is used as a line drawing controller. The cursordirection keys are used to extend lines to desired positions on thedisplayed image. Others of the keys are used to insert stock graphicalelements, such as circles and arrowheads. A control menu can be invokedonto the display to control the size of these graphical elements. Afterthe image has been revised in the desired manner, it is again storedback into memory as a separate stock slide image.

This concludes the operational review of the illustrated embodiment.

THEORY OF OPERATION FIG. 14--CPU and Demultiplexer

The memory module used in the illustrated embodiment is built around aconventional Intel 80C88 processor 130. An 82C84 chip 212 generates theclock for the CPU. The CPU clock is the incoming CLKIN (sixteen ortwenty megahertz provided from the LCD display unit 102) divided bythree, yielding a clock frequency of 5.33 or 6.66 megahertz. The 82C84generates the reset signal (high) for the CPU. R19 and C45 keep thereset pulse asserted until the reconstructed video clock CLK in the LCDdisplay unit 102 stabilizes (approximately ten milliseconds). Theincoming reset signal, CRESETN, comes from FIG. 15. The 82C84 alsogenerates PCLK, which is the incoming clock divided by twelve. This PCLKsignal is used as a time base for the remote control circuit 40 of FIG.17. Finally, the 82C84 generates a ready signal for the CPU, asdiscussed in detail in connection with the interface circuitry of FIG.17.

Chips U3, U4 and U5 demultiplex the CPU address/data bus. U1 is a databus transceiver. These functions are standard parts of any 8088-baseddesign. U9 and U11D decode the CPU M/IO (memory or I/O), RD (read) andWR (write) lines to generate I/O and memory read/write strobes.

U8 and U10A decode processor I/O accesses. Actually, they decode anyaddresses whose low order ten bits are in the range of 300 to 340. Thesedecodes are used in conjunction with the IORDN and IOWRN from U9 toaccomplish I/O. Specifically, the addresses 300-307, 310 and 318 areused for I/O devices.

U2 and U11B decode references to memory in the range of E0000-EFFFF forthe frame buffer 110 and F0000-FFFFF for the ROM 132. U12A decodesreferences to memory in the range of 00000-DFFFF for the data RAM 134.U10C is part of the power-down memory protection circuitry which isdiscussed in conjunction with FIG. 15.

FIG. 15--ROM, Data RAM Interface and Power On/Power Down Circuitry

A ROM U14 132 provides either 32K or 64K bytes of firmware storage.Either a 27256 or a 27512 can be used. If a 27256 is used, it should beaddressed from F8000 to FFFFF so that pin 1, (A15 on a 27512, VPP on a27256) will be high, which it should be when the ROM is in read mode.The firmware provided in the attached Appendix uses 28K of the 32Kavailable in a 27256. If the firmware requires more than 32K, a 27512can be used, which can be addressed from F0000 to FFFFF.

A RAM interface 214 provides the RAM data bus with the lower eighteenbits of the address bus, true and inverted versions of the mostsignificant two address bus bits, a master decode signal, SELRAM (selectRAM), and MWRN and MRDN (memory read/write strobes). More discussion ofthe RAM operation appears under the heading RAM Board below.

The 28 individual RAM chips which comprise RAM memory 134, theirassociated decoders (474HC138s) and U29, the power-on-reset/power faildetect circuit, are powered from a backup battery 136, a 3.0 volt/1600mAH lithium cell, when the +5 volts from the main supply is not present.The power-off drain on the battery is about twenty-five microamperes atroom temperature which should give it six to ten year life according tothe battery manufacturer.

R10 and R12 in the Power-On, Reset and Power-Fail Detect circuitry 216form a divider driving one trigger input of U29 and are selected to holdpin 7 of U29 low whenever VCC is less than approximately four volts. R11provides about 0.2 volts of hysteresis. When VCC is not present, U29holds the CRESETN line low. This disables U10C and deasserts SELRAM,thereby preventing any of the RAM chip selects from being asserted. U10Cis not powered at this time, of course, so R1 pulls SELRAM low.

When VCC is turned on, U10C is powered, but as long as VCC is below fourvolts, CRESETN is held low, preventing SELRAM from being asserted.Technically, U10C should also be powered from the backup battery 136 tokeep its output from behaving uncontrollably when VCC is outsidespecifications, but experimental observations of U10C has confirmed thatits output is well behaved for all values of VCC.

As VCC rises above four volts, CRESETN goes high, allowing SELRAMpossibly to go high, depending upon whether a valid RAM address isdecoded. However, at this time, RESET is still asserted to the CPU. Nobus activity has begun, so there cannot be any assertions of MWRN(memory write). RESET to the CPU is asserted until approximately tenmilliseconds later, time for the crystal oscillator in the LCD displayunit 102 to stabilize. The CPU's first activity once RESET isde-asserted is to fetch its start-up code from the ROM 132 at FFFF0.

The power down sequence is as follows: As VCC falls to approximately 4.5volts, according to the values chosen for R14 and R16, pin 1 of U29 goeshigh, generating a non-maskable interrupt (NMI) to the CPU 130. The NMIinterrupt routine masks the IRQ interrupt and executes a haltinstruction, effectively freezing the CPU. All bus activity thereforestops. When VCC falls to 4.0 volts, CRESETN goes low.

In practice, an internal problem in U29 (to be discussed below), as wellas loose tolerances on the trigger points for U29, mean that the NMI onpower down does not occur reliably. For this reason, and because theRESET signal to U7 and hence to the CPU is delayed at power down, aswell as at power up, by R19 and C45, the CPU may still be running whenCRESTN is asserted. However, CRESETN going into U10C effectively"squelches" any memory cycle that may be in progress at that point andit is believed that aborting a memory write cycle will not harm RAMlocations other than the one being addressed at the time. (It is assumedthat a noncritical RAM location is being written).

The problem with U29, the ICL7665, is that its internal reference, andhence its trigger points, have no power supply rejection at frequenciesabove DC. Therefore, as VCC falls, at about a volt per millisecond,RAMVCC falling from five volts to three volts (to the backup batteryvoltage) momentarily depresses U29's trigger point so that triggeringdoes not occur at the nominal 4 or 4.5 volt figures mentioned above. C29was added to hold up RAMVCC and minimize this effect.

FIG. 16--Display Interface

(In the following discussion, the timings given are for a sixteenmegahertz clock signal from the LCD display unit 102. The timings can bemultiplied by a factor of 0.8 if a twenty megahertz oscillator is used.)

The frame buffer 110 of the LCD display unit 102 appears to the memorymodule 104 as 32K 16-bit words. When the memory module accesses theframe buffer, the display interface circuitry 218 presents address-busbits 1-15 to select a 16-bit word, and then uses address bit zero, theLSB, to select between the two bytes in the chosen word. When the memorymodule reads the frame buffer, both bytes are presented by the display,both are latched in U30-U31, but only one is gated onto the data bus.When the memory module writes to the frame-buffer, only one byte's datalines are driven (by U20 or U21) and only one of the two write strobesis asserted.

The terms "even" and "odd" are used to refer to the two bytes. However,due to an early misunderstanding, they were misnamed on the schematic,so the "even" byte is actually the one accessed when address bit zero ishigh (the odd address) and vice versa.

So much for a "static" view of the display interface circuitry 218. Theframe buffer 110 is, however, triple ported, in that it is accessed bythe display interface circuitry 218, by the output buffer 112 and by theinput shift register 108. These accesses must be arbitrated. The D/PNsignal (for display/processor not) is a 500 nanosecond square wavegenerated by the LCD display unit 102. When the display unit isdisplaying external input (i.e when D/PN is high), LCD refresh data isread from the frame buffer to the output buffer. When D/PN is low,external data is written into the frame buffer.

The display interface circuitry 218 provides a signal called DMODE tothe LCD display unit over cable 122. DMODE is high when the display unitis displaying external data, as described above. DMODE has a pull-upresistor inside the display unit, so it is high when the memory moduleis not connected.

When the display interface circuitry 218 accesses the frame buffer 110,it latches DMODE low. In this case, read out of data to the outputbuffer 112 for LCD refresh still occurs when D/PN is high, but when D/PNis low, the interface circuitry can read or write the frame buffer.

When D/PN is low and DMODE is high, the frame buffer may be written, butwill not be written unless an external signal is present. Likewise, whenD/PN is low and DMODE is low, the frame buffer may be read or written bythe memory module, but only if an actual memory module access cycle isin progress. LCD refresh read to the output buffer 112 is the onlyactivity which goes on unconditionally.

If an external signal is present (such as in LIVE mode), the effect ofthe display interface pulling DMODE low is to suspend display writes andtherefore to "freeze" the display in its current state. The memorymodule firmware "captures" display images by raising DMODE, waitinguntil the user signals that the image is correct (through a remotecontrol key) and then lowering DMODE and reading out the display.

D/PN is generated by dividing the sixteen megahertz clock CLKIN byeight. As noted earlier, the 82C84 chip 212 generates the CPU clock bydividing this sixteen megahertz clock by three. These timing factors,plus the fact that the memory module CPU cycles consist of varyingnumbers of CPU clocks (depending on the instruction being executed),mean that the D/PN low "window" (the time when the memory module mayactually access the frame buffer) is asynchronous with respect to theCPU read and write strobes. Therefore, it is necessary in some cases toresynchronize via CPU wait states.

A simple scheme is used. The output of U18 FIG. 16) is set low by therising edge of D/PN whenever DISPRAM is low because of a decode of a CPUaddress in the frame buffer space. The rising edge of D/PN is used totrigger U18A, rather than the falling edge, because U18A must betriggered in anticipation of a window, rather than by the actual window.

RDYIN to the 82C84 chip 212 (FIG. 14) is pulled low for every memorymodule access to the frame buffer. Consequently, READY to the CPU ispulled low every access. However, READY low (i.e. NOT READY) to the CPUonly causes a wait state if it occurs during the CPU's T3 state. Thathappens, not coincidentally, to be the case when it is needed. U10A ispreset by READY from U7 so, at most, only one wait state is inserted.

The timing diagrams of FIG. 18 show some of the possible cases of D/PNtiming versus CPU clock timing. As can be seen, only when the D/PN"windows" occur late with respect to the CPU clock is a wait stateneeded. The timing that results dictates that read data be latched (bytransparent laches U30 and U31), but write data can be presented by meretransceivers (U20 and U21).

One quirk of this design is that, in some cases, a double write cycleoccurs. In these cases, the write pulse is short, sometimes shorter thanthe RAM specifications allow. However, this short write pulse is alwayspreceded by address set-up exceeding the RAM specifications and isfollowed by a full-length write pulse with the same address. No improperoperation has been observed.

U15 and U16 drive the frame buffer address bus 120 with the memorymodule CPU address only when DMODE is low and during the low portion ofthe D/PN cycle. Nothing prevents the memory module from accessing theframe buffer without latching DMODE low first. However, if it does so,the memory module address will not be applied to the frame buffer.

U17B and U19A/B generate write strobes (WEVENN or WODDN depending uponthe low-order CPU address line) for the frame buffer and assert the CPUdata onto the frame buffer "even" or "odd" data lines via U20 and U21.

U11E and U19C/D generate LATCHRD to latch the frame buffer data into U30and U31. Both bytes are always latched. However, only the selected"even" or "odd" byte is gated onto the CPU bus by RDODDN or RDEVENN fromU17A.

FIG. 17--I/O and Remote Control

U26 implements 8 1-bit output ports at addresses 300-307. When the CPUissues an OUT instruction to one of these addresses, the LSB of the databus is written to the selected port. U26 is initialized by RESETN withall eight outputs low. The ports must then be set to their desirednormal states by the firmware when it starts up. The eight ports havethe following functions:

300--CLEARTI--resets the timer interrupt latch, U27B, when written witha "0". This port is normally left at "1" and pulsed low as needed.

301--LATCHCLK--a transition from "0" to "1" latches the current timercounter value into the timer output registers. This port can be left ineither state when not active.

302--REVID--this is the reverse video strobe to the LCD display unit. A"1" to "0" transition of this port is equivalent to pushing the REVERSEVIDEO key on the LCD display unit. It must be left at "1" when inactivein order not to interfere with the REVERSE VIDEO key on the unit itself.

303--CLKENN--this port allows the real time clock counter to run when"0". It is brought to a "1" to stop the clock when the clock is beingread out.

304--DMODE--this line is discussed in the above description. A "0" onthis port means the memory module has taken control of the display.

305--CLEARRI--a "0" clears the remote interrupt latch. This port is leftat "1" and is pulsed low when needed.

306--CONTUP--this line goes to the LCD display unit. A "1" to "0"transition of this port is equivalent to pushing the CONTRAST UP key onthe unit. It must be left at "1" when inactive in order not to interferewith is CONTRAST UP key.

307--CONTDN--this line also goes to the LCD display unit. A "1" to "0"transition of this port is equivalent to pushing the CONTRAST DOWN keyon the unit. It also must be left at "1" when inactive in order not tointerfere with this CONTRAST DOWN key.

The remote control receiver circuitry 140 is shown in the upper leftside of FIG. 17. U22 is a high-gain amplifier and demodulator tuned byL1 and C39 to detect the bursts of forty kilohertz modulated infraredemitted by the remote control and detected by photodiode D2. (It is theenvelope of the forty kilohertz burst that comes out of U22, not eachforty kilohertz cycle.) The remote control employs a standard pulse codemodulation format used throughout the television industry.

Each remote control burst causes a positive edge to latch U27A on andassert IRQ to the CPU. The firmware determines the timing of the pulsesby reading U23 and U24 and determines the code being sent. The interruptservice routine pulses CLEARRI low to clear U27A.

U23 and U24 constitute a 16-bit timer which is clocked at sixteenmegahertz divided by twelve (PCLK is a divide by six and U18B is afurther divide by two). Each "tick" of this timer is about 700nanoseconds, so the firmware can measure the timing of the remotecontrol bursts down to this resolution. It does so by stopping the clockby raising CLKENN, pulsing LATCHCLK to latch the timer value, and thenrestarting the clock by lowering CLKENN. It then reads out the low andhigh eight bits of the time by reading I/O addresses 310 and 318respectively.

When the 16-bit counter in U23/U24 overflows every 65,536 clock cycles,it triggers U27B, which generates an interrupt request. The interruptservice routine for this interrupt increments a 32-bit word in memory.The firmware, therefore, has access to a 48-bit time value, 32 bits inmemory and 16 bits from the counters.

The two interrupt sources, timer overflow and remote control, are ORedby U12B to produce the CPU interrupt request. When the CPU recognizes aninterrupt, it asserts the INTA signal which gates U28 onto the data busas an interrupt vector number. This value is either 10, 20 or 30 (hex)depending on which combination of interrupts (timer or remote) isactive. The firmware stores the address of the remote control interruptservice routine at vectors 10 and 30 and the timer interrupt serviceroutine at vector 20. This prioritizes the remote control interruptsince if both interrupts are present, the remote control interrupt istaken. The timer interrupt is serviced only after the remote interruptis cleared.

The two interrupt bits are latched into U28 once each CPU cycle by ALE.Either interrupt can occur asynchronously with respect to the CPU cycle.If it were not latched, an interrupt coming in at the instant the CPUwas gating the vector onto the data bus could cause an undefined valueto be generated.

FIGS. 19-22--RAM

The RAM memory 134 contains 896K of static RAM, addressed from 00000 toDFFFF, in three banks of 256K (8 32K chips) and one of 128K (4 32Kchips). Each bank has its own 74HC138 decoder to select among its RAMchips.

The four banks are almost identical except different combinations of thetrue and inverted version of A18 and A19 (the two most significant CPUaddress lines) are used to enable each bank.

Each RAM's OE (output enable) line is connected to the MRDN (memoryread) signal generated by the RAM interface circuitry 214. Similarly,each RAM's WE (write enable) line is connected to the MWRN signal fromthe interface circuitry. Only for the one RAM chip that is also supplieda CE (chip enable) signal does OE or WE have any effect, as thesesignals are ANDed with CE internal to the RAM.

In addition to bank selection with A18 and A19, a single master decodeline, called BDSEL (board select, SELRAM in FIG. 14) must be high forany of the four decoders to be enabled.

SPREADSHEET APPLICATION

A novel application of the illustrated electronic transparency, or ofany electronic transparency, is in the interaction it permits inspreadsheet analysis. Spreadsheet programs have typically been run bypersons interested in finance to project future financial conditions ofan organization. The accuracy of the projections, however, relies on theaccuracy of the assumptions on which it is based. Often the personrunning the spreadsheet program is not the one best qualified to makeall of the necessary assumptions.

To overcome this problem, it has been found advantageous to assemble inone room the various persons who are best qualified to make thenecessary assumptions. For example, in using a spreadsheet program toforecast the next month's revenue of a manufacturing company, theinventory manager may have knowledge of inventory constraints that maylimit production, the personnel manager may have knowledge of upcomingpersonnel vacations that may affect productivity, the marketing managermay have knowledge of impending orders that will affect sales, etc. Inthe prior art, these persons may have been asked for the data on whichthe analysis could be based, but did not have an opportunity tointeractively revise their data in response to corresponding data frompersons responsible for other facets of the operation.

According to the present technique, these various persons are assembledand the spreadsheet program is run, with the output displayed by anelectronic transparency on a screen visible to all. The group can thenbe asked about the accuracy of certain assumptions on which a firstspreadsheet analysis has been based. If the inventory manager knows theassumed production cannot be achieved due to inventory constraints, hemay suggest that it be revised downwardly to a more realistic level.This lower production level may prompt the personnel manager to lowerhis estimate of overtime expenses that had been predicated on theearlier production value. This in turn may prompt other changes by theother persons assembled. This interactive modification of theassumptions on which the analysis is based continues until all of thepersons assembled agree that the underlying assumptions appearacceptable. The result is a final spreadsheet analysis that accuratelyreflects the interdependencies between the underlying data, a criticalfactor that would have been neglected using conventional spreadsheettechniques.

ALTERNATIVE EMBODIMENTS

Having illustrated the principles of our invention with referenced to apreferred embodiment, it should be apparent that the invention can bemodified in arrangement and detail without departing from suchprinciples. For example, one alternative embodiment of the presentinvention includes a zoom feature whereby the displayed image can bemagnified about a point determined by the pointer. A video coprocessorinterpolates the existing data to generate the additional data requiredat the higher, zoom magnification. Similarly, another alternativeembodiment includes a windowing feature whereby one stock slide canselectably be displayed in windowed fashion over another. Still otheralternative embodiments can be constructed to present displays in colorby replicating certain of the illustrated circuitry three times, oncefor each of the red, green and blue video data signals. Gray scaling ofthe image can be achieved by using shades or different intensities ofthe same color. Finally, instead of identifying the slide shows bynumber, and instead of using sequence numbers to identify particularslides within a show, alphanumeric names and titles can readily besubstitued therefor.

In view of these and the wide range of other embodiments to which theconcepts of the present invention can be applied, it should berecognized that the foregoing description is illustrative only and isnot to be construed as limiting the scope of the invention. Instead, weclaim as our invention all such modifications as may come within thescope and spirit of the following claims and equivalents thereof.

We claim:
 1. A projection display apparatus operable to form a displayimage on a projection screen, comprising:a light source; a transmissivelight modulating element for modulating light generated by the lightsource to form the display image; a display data input for receivingdisplay data from a remote computer; a modulation controller incommunication with and controlling the light modulating element, themodulation controller including a data storage medium for selectivelystoring plural frames of display data received from the remote computer,the plural frames of display data corresponding to plural separatedisplay images, the modulation controller controlling the lightmodulating element selectively in accordance with display data as it isreceived from the remote computer or in accordance with selected framesof display data retrieved from the data storage medium, the transmissivelight modulating element and the modulation controller being supportedby a common housing; and projection optics for projecting the displayimage toward the projection screen.
 2. The projection display apparatusof claim 1 in which the data storage medium includes random-accessmemory circuitry.
 3. The projection display apparatus of claim 1 inwhich the data storage medium comprises a removable data storage mediumthat is removable from the projection display apparatus and that retainsthe plural frames of display data when removed therefrom.
 4. Theprojection display apparatus of claim 3 in which the data storage mediumincludes memory sites for storing slide show information that defines asequence for displaying plural display images.
 5. The projection displayapparatus of claim 3 in which modulation controller includes an imageeditor for editing display data and in which the edited display data isstored in the data storage medium.
 6. The projection display apparatusof claim 1 further comprising a microprocessor in communication with thedata storage medium for controlling retrieval of the selected frames ofdisplay data from the data storage medium.
 7. The projection displayapparatus of claim 1 further comprising a remote control means by whicha user can remotely control operation of the projection displayapparatus, including selection of a frame of display data from the datastorage medium for controlling the light modulating element to form acorresponding selected display image on the projection screen.
 8. Aprojection display apparatus operable to modulate light to form adisplay image on a projection screen, comprising:a modulation controllerfor controlling the light modulating element; a case element thatsupports the light modulating element; and a data storage mediumselectively storing plural frames of display data and supported by thecase element in communication with the modulation controller, the pluralframes of display data corresponding to plural display images, themodulation controller selectively storing in the data storage mediumplural frames of data provided to the projection display apparatus by aremote computer and selectively retrieving frames of display data fromthe data storage medium and controlling the light modulating element inaccordance with the selected frames of display data.
 9. The projectiondisplay apparatus of claim 8 in which the data storage medium isseparable from the case element and comprises a memory storage mediumthat retains stored data when separated from the case element.
 10. Theprojection display apparatus of claim 9 in which the data storage mediumincludes memory sites for storing slide show information that defines asequence for displaying plural display images.
 11. The projectiondisplay apparatus of claim 8 in which the data storage medium includesrandom-access memory circuitry.
 12. The projection display apparatus ofclaim 8 further comprising a remote control unit by which a user canremotely control operation of the projection display apparatus,including selection of a frame of display data from the data storagemedium for controlling the light modulating element to form acorresponding selected display image on the projection screen.
 13. Theprojection display apparatus of claim 12 in which the remote controlunit comprises an infrared transmitter and a infrared receiver, theinfrared receiver receiving infrared signals reflected from a displayscreen into the infrared receiver.
 14. A method of operating aprojection display apparatus that modulates light to form a displayimage on a projection screen, the projection display apparatus includinga case supporting a light modulating element and a modulation controllerthat controls the light modulating element and includes a separable datastorage medium, the method comprising the steps of:joining the separabledata storage medium to the projection display apparatus to place theseparable data storage medium in data communication with the modulationcontroller; selectively storing plural frames of display data on theseparable data storage medium, the plural frames of display datacorresponding to plural display images; retrieving selected frames ofdisplay data from the separable data storage medium; and controlling thelight modulating element in accordance with the selected frames ofdisplay data to form corresponding display images.
 15. The method ofclaim 14 in which the plural frames of display data are generated by aremote computer and stored on the separable data storage medium.
 16. Themethod of claim 14 further comprising editing a frame of display dataand in which selectively storing plural frames includes storing theedited display data.
 17. The method of claim 14 in which receivingselected frames of display data from the separable data storage mediumincludes remotely selecting the frames of data.
 18. The method of claim14 in which selectively storing plural frames of display data on theseparable data storage medium includes programming a slide show and inwhich receiving selected frames of display data from the separable datastorage medium includes projecting a slide show.
 19. A projectiondisplay apparatus operable to form a display image on a projectionscreen, comprising:a light source; a transmissive liquid crystal displayfor modulating light generated by the light source to form the displayimage; a display data input for receiving display data from a remotecomputer; a modulation controller in communication with the lightmodulating element for controlling the liquid crystal display, themodulation controller including a data storage medium for selectivelystoring plural frames of display data received from the remote computer,the plural frames of display data corresponding to plural separatedisplay images, the modulation controller controlling the liquid crystaldisplay selectively in accordance with display data as it is receivedfrom the remote computer or with selected frames of display dataretrieved from the data storage medium, the transmissive liquid crystaldisplay and the modulation controller being supported by a commonhousing; a remote control for communicating to the modulation controllerthe display data to be stored in the data storage medium and the displaydata to be projected from the data storage medium or the remotecomputer; and projection optics for projecting the display image towardthe projection screen.
 20. The projection display apparatus of claim 19in which the remote control unit comprises an infrared transmitter and ainfrared receiver.
 21. The projection display apparatus of claim 19 inwhich the infrared receiver receiving infrared signals reflected from adisplay screen into the infrared receiver.